﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Arquitetura.Architectural.Model;
using Arquitetura.Architectural.DataLayer;
using Arquitetura.Model;

namespace Arquitetura.DataLayer
{
    public interface IPessoaRepository : IRepository
    {
        Result<IQueryable<Aluno>> Select();
        Result<IQueryable<Aluno>> Select(IEnumerable<string> attributosEntidadeIncluidos);
        Result<IQueryable<Mae>> SelectMae();
        Result<IQueryable<Pai>> SelectPai();

        Result InsertAluno(Aluno aluno);
        Result UpdateAluno(Aluno aluno);
        Result DeleteAluno(Aluno aluno);

        Result InsertMae(Mae mae);
        Result UpdateMae(Mae mae);

        Result InsertPai(Pai pai);
        Result UpdatePai(Pai pai);
    }
}
